package java17demo;

record TemperatureLog(String date, double temperature) {
	// 紧凑构造方法
	public TemperatureLog{
		System.out.println("date = "+ date + " , temperature = "+ temperature);
	}
	
	// 自定义构造方法
    public TemperatureLog(double temperature){
        this(null, temperature);
    }
}

public class PointRecordMain {
	public static void main(String[] args) {
		// 定义了record类型。也可以单独定义到一个文件中
		record Point(int x, int y) {}; 
		
		// record类的使用
		Point origin = new Point(0, 0);
		Point dest = new Point(0, 0);
		System.out.println(origin); // 调用自动生成toString()方法，返回包含所有属性的字符串表示形式。
		System.out.println(origin.x()); // 获得x的属性值
		System.out.println(origin.y());
		System.out.println(origin.equals(dest)); // 返回true，比较所有属性的值，
		System.out.println(origin == dest); // 返回false，因为比较的是引用地址
		TemperatureLog temperatureLog = new TemperatureLog(28.5);
		System.out.println(temperatureLog);
	}
}
